// *******************************************************************************************************
// # スライダー
//
// 【実装について】
// ・必ず「flipsnap.js」とセットで追加
// ・おすすめ物件用、スタッフ用スライダーがある場合は「jquery.heightLine.js」も追加してください。
// *******************************************************************************************************

(function(win, doc) {

	/* スライダー（詳細用）
	----------------------------------- */
	// flipsnap.js
	function sliderThumb() {
		if($('.slider_thumb').length){

			var imgCount = $('.slider_thumb .htview .flipsnap').find('li').length; //サムネイル数を取得
			var imgSize = 300; // スライド1つ分の横幅
			var ulWidth = imgCount*imgSize + imgCount*10; //サムネイル数×サイズ＋アイコン間の余白＝全体の横幅

			var snapArea = $('.slider_thumb .htview .flipsnap').css('width',ulWidth);
			var snapImg = $('.slider_thumb .htview .flipsnap li').css('width',imgSize);
			var boxWidth = $('.slider_thumb .htview .slider_inner').css('width',imgSize);

			var $parent = $('.slider_thumb .htview');
			var flipsnap = Flipsnap('.slider_thumb .htview .flipsnap', {
				'distance': imgSize+10, //フリックさせるpx数
				'maxPoint': imgCount-1 //MAXの1つ前でフリックを止める
			});

			//arrow・現在地表示
			var $pointer = $('.slider_thumb .pointer span');
			var $next = $parent.find('.next').click(function() {
				flipsnap.toNext();
			});
			var $prev =  $parent.find('.prev').click(function() {
				flipsnap.toPrev();
			});
			flipsnap.element.addEventListener('fspointmove', function() {
				$next.attr('disabled', !flipsnap.hasNext());
				$prev.attr('disabled', !flipsnap.hasPrev());
				$pointer.filter('.current').removeClass('current');
				$pointer.eq(flipsnap.currentPoint).addClass('current');
			}, false);

			//translated3Dを解除
			var flipsnap = Flipsnap('.slider_thumb .flipsnap', {disable3d: true});
		}
	}

	/* スライダー（キャンペーンアイコン用）
	----------------------------------- */
	// flipsnap.js
	function sliderCampaign() {
		if($('.slider_icon').length){

			var imgCount = $('.slider_icon .htview .flipsnap').find('li').length; //サムネイル数を取得
			var imgSize = 60; // スライド1つ分の横幅
			var ulWidth = imgCount*imgSize + imgCount*10; //サムネイル数×サイズ＋アイコン間の余白＝全体の横幅

			var snapArea = $('.slider_icon .htview .flipsnap').css('width',ulWidth);
			var snapImg = $('.slider_icon .htview .flipsnap li').css('width',imgSize);

			var $parent = $('.slider_icon .htview');
			
			if ( imgCount < 5 ) { //アイコンが1～4個
				/*
				var flipsnap = Flipsnap('.slider_icon .htview .flipsnap', {
					'distance': 0, //フリックさせるpx数
					'disableTouch': true //タッチ不可＝フリックを止める
				});
				*/
				$('.slider_icon .controls').css('display','none'); //arrow非表示
				$('.slider_icon .viewport .flipsnap').css('width',ulWidth-10);
				$('.slider_icon .viewport .flipsnap li:first-child').css('margin-left','0');
			} else { //アイコンが5個以上
				var flipsnap = Flipsnap('.slider_icon .htview .flipsnap', {
					'distance': imgSize+10, //フリックさせるpx数
					'disableTouch': false //タッチ可＝フリックする
				});
				
				//現在地表示
				var $next = $parent.find('.next').click(function() {
					flipsnap.toNext();
				});
				var $prev =  $parent.find('.prev').click(function() {
					flipsnap.toPrev();
				});
				flipsnap.element.addEventListener('fspointmove', function() {
					$next.attr('disabled', !flipsnap.hasNext());
					$prev.attr('disabled', !flipsnap.hasPrev());
				}, false);
	
				//translated3Dを解除
				var flipsnap = Flipsnap('.slider_icon .flipsnap', {disable3d: true});
	
			}

		}
	}

	/* スライダー（おすすめ物件用）
	----------------------------------- */
	// flipsnap.js
	function sliderRecommend() {
		if($('.slider_recommend').length){

			var imgCount = $('.slider_recommend .htview .flipsnap').find('li').length; //サムネイル数を取得
		var imgSize = 300; // スライド1つ分の横幅
		var ulWidth = imgCount*imgSize + imgCount*10; //サムネイル数×サイズ＋アイコン間の余白＝全体の横幅

		var snapArea = $('.slider_recommend .htview .flipsnap').css('width',ulWidth);
		var snapImg = $('.slider_recommend .htview .flipsnap li').css('width',imgSize);
		var boxWidth = $('.slider_recommend .htview').css('width',imgSize);

		var $parent = $('.slider_recommend .htview');
		var $pointer = $('.slider_recommend .pointer span');
		var flipsnap = Flipsnap('.slider_recommend .htview .flipsnap', {
			'distance': imgSize+10, //フリックさせるpx数
			'maxPoint': imgCount-1 //MAXの1つ前でフリックを止める
		});

		//現在地表示
		var $next = $parent.find('.next').click(function() {
			flipsnap.toNext();
		});
		var $prev =  $parent.find('.prev').click(function() {
			flipsnap.toPrev();
		});
		flipsnap.element.addEventListener('fspointmove', function() {
			$next.attr('disabled', !flipsnap.hasNext());
			$prev.attr('disabled', !flipsnap.hasPrev());
			$pointer.filter('.current').removeClass('current');
			$pointer.eq(flipsnap.currentPoint).addClass('current');
		}, false);

		//translated3Dを解除
		var flipsnap = Flipsnap('.slider_recommend .flipsnap', {disable3d: true});

		}
	}

	/* スライダー（スタッフ用）
	----------------------------------- */
	// flipsnap.js
	function sliderStaff() {
		if($('.slider_staff').length){

			var imgCount = $('.slider_staff .htview .flipsnap').find('li').length; //サムネイル数を取得
		var imgSize = 300; // スライド1つ分の横幅
		var ulWidth = imgCount*imgSize + imgCount*10; //サムネイル数×サイズ＋アイコン間の余白＝全体の横幅

		var snapArea = $('.slider_staff .htview .flipsnap').css('width',ulWidth);
		var snapImg = $('.slider_staff .htview .flipsnap li').css('width',imgSize);
		var boxWidth = $('.slider_staff .htview').css('width',imgSize);

		var $parent = $('.slider_staff .htview');
		var $pointer = $('.slider_staff .pointer span');
		var flipsnap = Flipsnap('.slider_staff .htview .flipsnap', {
			'distance': imgSize+10, //フリックさせるpx数
			'maxPoint': imgCount-1 //MAXの1つ前でフリックを止める
		});

		//現在地表示
		var $next = $parent.find('.next').click(function() {
			flipsnap.toNext();
		});
		var $prev =  $parent.find('.prev').click(function() {
			flipsnap.toPrev();
		});
		flipsnap.element.addEventListener('fspointmove', function() {
			$next.attr('disabled', !flipsnap.hasNext());
			$prev.attr('disabled', !flipsnap.hasPrev());
			$pointer.filter('.current').removeClass('current');
			$pointer.eq(flipsnap.currentPoint).addClass('current');
		}, false);

		//translated3Dを解除
		var flipsnap = Flipsnap('.slider_staff .flipsnap', {disable3d: true});

		}
	}

	/* heightLine
	----------------------------------- */
	function detailHeightLine() {
		//スライダー（おすすめ物件用）
		if($('.slider_recommend').length){
			$('.slider_recommend li').heightLine();
		}
		//スライダー（スタッフ用）
		if($('.slider_staff').length){
			//$('.slider_staff li').heightLine();
		}
	}

	/* 実行
	----------------------------------- */
	$(function() {
		sliderThumb();
		sliderCampaign();
		sliderRecommend();
		sliderStaff();
		detailHeightLine();
	});

})(this, document);
